1.1.1. Linux基础
Linux启动过程
- 开机执行bootloader程序
- 操作系统内核初始化
- 执行第一个程序
当设备开机供电后,硬件电路会产生一个确定的复位时序,用来保证CPU是最后一个被复位的器件。这是为了避免硬件初始化错误。当正确复位完成后,CPU会执行一条固定内存地址的指令。这个内存固定地址的保存程序被称为Bootloader,作用是装载真正的用户程序。
执行内核程序,从CPU角度来看,除了Bootloader以外的所有程序都是用户程序。而从软件角度看用户程序被分为“内核程序”和“应用程序”,本步执行的是‘内核程序“。
传统linux系统第一个执行的程序是terminal。
ARM CPU
CPU可以按照类型分为短指令集架构和长指令集架构。arm属于短指令架构。
对于ARM处理器,复位完毕后,CPU首先执行ROM中的一块小程序即Bootloader程序,对于Android而言是一个叫做uboot或者fastboot的程序,其作用是初始化硬件设备,并提供一些调试功能。
当uboot(fastboot)被装载后,一般会先检测用户是否按下某些特别按键,这些按键是在uboot在编译时预先约定好的,用于进入调试模式。如果没有按,uboot 会从flash中庄在linux内核,装载的地址也是编译uboot时预先预定好的。
常用Linxu命令